﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Wicresoft.UnifyShow.Business
{
    public interface ISLA : IBase
    {
        //HPD:Help Desk响应/解决率  
        List<IncidentAndChangeModel> SLAHelpDesk(int? site, int? bnid, DateTime? sTime, DateTime? eTime, string slaCategorychar1,string slaCategorychar2, int priority);

        //HPD:Help Desk工单详细信息
        List<SLAInfoModel> SLAInfoToHelpDesk(int? site, int? bnid, DateTime? sTime, DateTime? eTime, string slaCategorychar1, string slaCategorychar2, int priority, int slaStatus);

        //Incident供应商情况
        List<SiteBranchAndWorkListModel> SLAIncidentToFirm(int? site, int? bnid, DateTime? sTime, DateTime? eTime);

        //CHG:Infrastructure Change响应/解决率 
        List<IncidentAndChangeModel> SLAChange(int? site, int? bnid, DateTime? sTime, DateTime? eTime, string slaCategorychar1, string slaCategorychar2, int priority);

        //CHG:Infrastructure Change工单详细信息 
        List<SLAInfoModel> SLAInfoToChange(int? site, int? bnid, DateTime? sTime, DateTime? eTime, string slaCategorychar1, string slaCategorychar2, int priority, int slaStatus);

        //Change供应商情况
        List<SiteBranchAndWorkListModel> SLAChangeToFirm(int? site, int? bnid, DateTime? sTime, DateTime? eTime);

        //PBM:Problem Investigation响应/解决率  
        List<IncidentAndChangeModel> SLAProblem(int? site, int? bnid, DateTime? sTime, DateTime? eTime, string slaCategorychar1, string slaCategorychar2, int priority);

        //PBM:Problem Investigation工单详细信息 
        List<SLAInfoModel> SLAInfoToProblem(int? site, int? bnid, DateTime? sTime, DateTime? eTime, string slaCategorychar1, string slaCategorychar2, int priority, int slaStatus);

        //Problem供应商情况
        List<SiteBranchAndWorkListModel> SLAProblemToFirm(int? site, int? bnid, DateTime? sTime, DateTime? eTime);

        List<SiteAndSLASumModel> GetSiteAndSLA();

        List<SiteAndSLADetailModel> GetSiteAndSLA_BySystemName(decimal userID, string systemName);
    }
}
